[INFO] cloning repository https://github.com/ALIMH84/logforge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ALIMH84/logforge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FALIMH84%2Flogforge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FALIMH84%2Flogforge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0f3c33deb8d8ca2d66ce97fc1371b0df47eeb181
[INFO] testing ALIMH84/logforge against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FALIMH84%2Flogforge" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ALIMH84/logforge
[INFO] finished tweaking git repo https://github.com/ALIMH84/logforge
[INFO] tweaked toml for git repo https://github.com/ALIMH84/logforge written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ALIMH84/logforge on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ALIMH84/logforge already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] eafd528f6ef35dd62a536ea4ae76ecd6c525378d893b8c5d35d63510fba74431
[INFO] running `Command { std: "docker" "start" "-a" "eafd528f6ef35dd62a536ea4ae76ecd6c525378d893b8c5d35d63510fba74431", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eafd528f6ef35dd62a536ea4ae76ecd6c525378d893b8c5d35d63510fba74431", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eafd528f6ef35dd62a536ea4ae76ecd6c525378d893b8c5d35d63510fba74431", kill_on_drop: false }`
[INFO] [stdout] eafd528f6ef35dd62a536ea4ae76ecd6c525378d893b8c5d35d63510fba74431
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 493f98197ee90ca0f9a9333ce022ae4b9136a40d144fd534eaaa82e8e55ab958
[INFO] running `Command { std: "docker" "start" "-a" "493f98197ee90ca0f9a9333ce022ae4b9136a40d144fd534eaaa82e8e55ab958", kill_on_drop: false }`
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling libsqlite3-sys v0.27.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling crossterm v0.26.1
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling stability v0.1.1
[INFO] [stderr]    Compiling ratatui v0.25.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling toml v0.7.8
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling rusqlite v0.30.0
[INFO] [stderr]    Compiling logforge v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/report/reporter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Reporter<'a> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 11 |     config: &'a crate::config::schema::Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlertRule` and `Alert`
[INFO] [stdout]  --> src/alerts/mod.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::domain::{Alert, AlertRule};
[INFO] [stdout]   |                         ^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `commands::AppCommand`
[INFO] [stdout]  --> src/app/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use commands::AppCommand;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `controller::AppController`
[INFO] [stdout]  --> src/app/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use controller::AppController;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `events::AppEvent`
[INFO] [stdout]  --> src/app/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use events::AppEvent;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `state::AppState`
[INFO] [stdout]  --> src/app/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use state::AppState;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `loader::ConfigLoader`
[INFO] [stdout]  --> src/config/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use loader::ConfigLoader;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlertRuleConfig` and `Config`
[INFO] [stdout]  --> src/config/mod.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use schema::{AlertRuleConfig, Config};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `level::LogLevel`
[INFO] [stdout]  --> src/domain/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use level::LogLevel;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TextSearchMode`
[INFO] [stdout]  --> src/filter/mod.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use query::{FilterQuery, TextSearchMode};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `file_watcher::FileWatcher`
[INFO] [stdout]  --> src/ingest/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use file_watcher::FileWatcher;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReportFormat` and `Reporter`
[INFO] [stdout]  --> src/report/mod.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use reporter::{ReportFormat, Reporter};
[INFO] [stdout]   |                    ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlite::SqliteStorage`
[INFO] [stdout]  --> src/storage/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use sqlite::SqliteStorage;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]   --> src/main.rs:20:37
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing_subscriber::{EnvFilter, fmt};
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rules`, `history`, and `cooldown` are never read
[INFO] [stdout]   --> src/alerts/evaluator.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct AlertEvaluator {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  8 |     pub rules: Vec<AlertRule>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]  9 |     history: HashMap<String, VecDeque<DateTime<Utc>>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     cooldown: HashMap<String, DateTime<Utc>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlertEvaluator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process` is never used
[INFO] [stdout]   --> src/alerts/evaluator.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl AlertEvaluator {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn process(&mut self, entry: &LogEntry) -> Vec<Alert> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `matches` is never used
[INFO] [stdout]  --> src/alerts/rules.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl AlertRule {
[INFO] [stdout]   | -------------- method in this implementation
[INFO] [stdout] 6 |     pub fn matches(&self, entry: &LogEntry) -> bool {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppCommand` is never used
[INFO] [stdout]  --> src/app/commands.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum AppCommand {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppEvent` is never used
[INFO] [stdout]  --> src/app/events.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum AppEvent {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Search` and `Filters` are never constructed
[INFO] [stdout]   --> src/app/state.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum Mode {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Search,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     Filters,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alerts`, `status_message`, `evaluator`, and `config` are never read
[INFO] [stdout]   --> src/app/state.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AppState {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub alerts: Vec<Alert>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub status_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub should_quit: bool,
[INFO] [stdout] 30 |     pub evaluator: AlertEvaluator,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 31 |     pub config: Config,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Session` is never constructed
[INFO] [stdout]  --> src/domain/session.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Session {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/domain/session.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Session {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(name: String, sources: Vec<String>, total_entries: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppError` is never used
[INFO] [stdout]  --> src/error.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum AppError {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Regex` is never constructed
[INFO] [stdout]  --> src/filter/query.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum TextSearchMode {
[INFO] [stdout]   |          -------------- variant in this enum
[INFO] [stdout] 6 |     Plain,
[INFO] [stdout] 7 |     Regex,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TextSearchMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileWatcher` is never constructed
[INFO] [stdout]  --> src/ingest/file_watcher.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FileWatcher;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `watch` is never used
[INFO] [stdout]  --> src/ingest/file_watcher.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl FileWatcher {
[INFO] [stdout]   | ---------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn watch(paths: Vec<PathBuf>, tx: Sender<PathBuf>) -> Result<RecommendedWatcher> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/report/reporter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Reporter<'a> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 11 |     config: &'a crate::config::schema::Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `top_messages`, `errors_per_minute`, and `warnings_per_minute` are never read
[INFO] [stdout]   --> src/stats/aggregator.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct StatsSnapshot {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub top_messages: Vec<(String, usize)>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub errors_per_minute: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub warnings_per_minute: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StatsSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SqliteStorage` is never constructed
[INFO] [stdout]  --> src/storage/sqlite.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct SqliteStorage {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open`, `initialize`, and `save_session` are never used
[INFO] [stdout]   --> src/storage/sqlite.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl SqliteStorage {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 10 |     pub fn open(path: impl AsRef<Path>) -> Result<Self> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn initialize(conn: &Connection) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn save_session(&self, session: &crate::domain::Session) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 47.68s
[INFO] running `Command { std: "docker" "inspect" "493f98197ee90ca0f9a9333ce022ae4b9136a40d144fd534eaaa82e8e55ab958", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "493f98197ee90ca0f9a9333ce022ae4b9136a40d144fd534eaaa82e8e55ab958", kill_on_drop: false }`
[INFO] [stdout] 493f98197ee90ca0f9a9333ce022ae4b9136a40d144fd534eaaa82e8e55ab958
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3867beba72291e84b9f00e69a120387112d962e7ae08f0bdcf7a88e698fe2d10
[INFO] running `Command { std: "docker" "start" "-a" "3867beba72291e84b9f00e69a120387112d962e7ae08f0bdcf7a88e698fe2d10", kill_on_drop: false }`
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/report/reporter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Reporter<'a> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 11 |     config: &'a crate::config::schema::Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlertRule` and `Alert`
[INFO] [stdout]  --> src/alerts/mod.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::domain::{Alert, AlertRule};
[INFO] [stdout]   |                         ^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `commands::AppCommand`
[INFO] [stdout]  --> src/app/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use commands::AppCommand;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `controller::AppController`
[INFO] [stdout]  --> src/app/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use controller::AppController;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `events::AppEvent`
[INFO] [stdout]  --> src/app/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use events::AppEvent;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `state::AppState`
[INFO] [stdout]  --> src/app/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use state::AppState;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `loader::ConfigLoader`
[INFO] [stdout]  --> src/config/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use loader::ConfigLoader;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlertRuleConfig` and `Config`
[INFO] [stdout]  --> src/config/mod.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use schema::{AlertRuleConfig, Config};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `level::LogLevel`
[INFO] [stdout]  --> src/domain/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use level::LogLevel;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TextSearchMode`
[INFO] [stdout]  --> src/filter/mod.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use query::{FilterQuery, TextSearchMode};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `file_watcher::FileWatcher`
[INFO] [stdout]  --> src/ingest/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use file_watcher::FileWatcher;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReportFormat` and `Reporter`
[INFO] [stdout]  --> src/report/mod.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use reporter::{ReportFormat, Reporter};
[INFO] [stdout]   |                    ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlite::SqliteStorage`
[INFO] [stdout]  --> src/storage/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use sqlite::SqliteStorage;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]   --> src/main.rs:20:37
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing_subscriber::{EnvFilter, fmt};
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rules`, `history`, and `cooldown` are never read
[INFO] [stdout]   --> src/alerts/evaluator.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct AlertEvaluator {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  8 |     pub rules: Vec<AlertRule>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]  9 |     history: HashMap<String, VecDeque<DateTime<Utc>>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     cooldown: HashMap<String, DateTime<Utc>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlertEvaluator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process` is never used
[INFO] [stdout]   --> src/alerts/evaluator.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl AlertEvaluator {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn process(&mut self, entry: &LogEntry) -> Vec<Alert> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `matches` is never used
[INFO] [stdout]  --> src/alerts/rules.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl AlertRule {
[INFO] [stdout]   | -------------- method in this implementation
[INFO] [stdout] 6 |     pub fn matches(&self, entry: &LogEntry) -> bool {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppCommand` is never used
[INFO] [stdout]  --> src/app/commands.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum AppCommand {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppEvent` is never used
[INFO] [stdout]  --> src/app/events.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum AppEvent {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Search` and `Filters` are never constructed
[INFO] [stdout]   --> src/app/state.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum Mode {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Search,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     Filters,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alerts`, `status_message`, `evaluator`, and `config` are never read
[INFO] [stdout]   --> src/app/state.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AppState {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub alerts: Vec<Alert>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub status_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub should_quit: bool,
[INFO] [stdout] 30 |     pub evaluator: AlertEvaluator,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 31 |     pub config: Config,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Session` is never constructed
[INFO] [stdout]  --> src/domain/session.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Session {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/domain/session.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Session {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(name: String, sources: Vec<String>, total_entries: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppError` is never used
[INFO] [stdout]  --> src/error.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum AppError {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Regex` is never constructed
[INFO] [stdout]  --> src/filter/query.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum TextSearchMode {
[INFO] [stdout]   |          -------------- variant in this enum
[INFO] [stdout] 6 |     Plain,
[INFO] [stdout] 7 |     Regex,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TextSearchMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileWatcher` is never constructed
[INFO] [stdout]  --> src/ingest/file_watcher.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FileWatcher;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `watch` is never used
[INFO] [stdout]  --> src/ingest/file_watcher.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl FileWatcher {
[INFO] [stdout]   | ---------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn watch(paths: Vec<PathBuf>, tx: Sender<PathBuf>) -> Result<RecommendedWatcher> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/report/reporter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Reporter<'a> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 11 |     config: &'a crate::config::schema::Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `top_messages`, `errors_per_minute`, and `warnings_per_minute` are never read
[INFO] [stdout]   --> src/stats/aggregator.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct StatsSnapshot {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub top_messages: Vec<(String, usize)>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub errors_per_minute: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub warnings_per_minute: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StatsSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SqliteStorage` is never constructed
[INFO] [stdout]  --> src/storage/sqlite.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct SqliteStorage {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open`, `initialize`, and `save_session` are never used
[INFO] [stdout]   --> src/storage/sqlite.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl SqliteStorage {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 10 |     pub fn open(path: impl AsRef<Path>) -> Result<Self> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn initialize(conn: &Connection) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn save_session(&self, session: &crate::domain::Session) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling logforge v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `AlertRule` and `Alert`
[INFO] [stdout]  --> src/alerts/mod.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::domain::{Alert, AlertRule};
[INFO] [stdout]   |                         ^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `commands::AppCommand`
[INFO] [stdout]  --> src/app/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use commands::AppCommand;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `controller::AppController`
[INFO] [stdout]  --> src/app/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use controller::AppController;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `events::AppEvent`
[INFO] [stdout]  --> src/app/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use events::AppEvent;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `state::AppState`
[INFO] [stdout]  --> src/app/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use state::AppState;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `loader::ConfigLoader`
[INFO] [stdout]  --> src/config/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use loader::ConfigLoader;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlertRuleConfig` and `Config`
[INFO] [stdout]  --> src/config/mod.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use schema::{AlertRuleConfig, Config};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `level::LogLevel`
[INFO] [stdout]  --> src/domain/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use level::LogLevel;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TextSearchMode`
[INFO] [stdout]  --> src/filter/mod.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use query::{FilterQuery, TextSearchMode};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `file_watcher::FileWatcher`
[INFO] [stdout]  --> src/ingest/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use file_watcher::FileWatcher;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReportFormat` and `Reporter`
[INFO] [stdout]  --> src/report/mod.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use reporter::{ReportFormat, Reporter};
[INFO] [stdout]   |                    ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlite::SqliteStorage`
[INFO] [stdout]  --> src/storage/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use sqlite::SqliteStorage;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]   --> src/main.rs:20:37
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing_subscriber::{EnvFilter, fmt};
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/report/reporter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Reporter<'a> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 11 |     config: &'a crate::config::schema::Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rules`, `history`, and `cooldown` are never read
[INFO] [stdout]   --> src/alerts/evaluator.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct AlertEvaluator {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  8 |     pub rules: Vec<AlertRule>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]  9 |     history: HashMap<String, VecDeque<DateTime<Utc>>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     cooldown: HashMap<String, DateTime<Utc>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlertEvaluator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process` is never used
[INFO] [stdout]   --> src/alerts/evaluator.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl AlertEvaluator {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn process(&mut self, entry: &LogEntry) -> Vec<Alert> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `matches` is never used
[INFO] [stdout]  --> src/alerts/rules.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl AlertRule {
[INFO] [stdout]   | -------------- method in this implementation
[INFO] [stdout] 6 |     pub fn matches(&self, entry: &LogEntry) -> bool {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppCommand` is never used
[INFO] [stdout]  --> src/app/commands.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum AppCommand {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppEvent` is never used
[INFO] [stdout]  --> src/app/events.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum AppEvent {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Search` and `Filters` are never constructed
[INFO] [stdout]   --> src/app/state.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum Mode {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Search,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     Filters,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alerts`, `status_message`, `evaluator`, and `config` are never read
[INFO] [stdout]   --> src/app/state.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AppState {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub alerts: Vec<Alert>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub status_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub should_quit: bool,
[INFO] [stdout] 30 |     pub evaluator: AlertEvaluator,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 31 |     pub config: Config,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Session` is never constructed
[INFO] [stdout]  --> src/domain/session.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Session {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/domain/session.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Session {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(name: String, sources: Vec<String>, total_entries: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppError` is never used
[INFO] [stdout]  --> src/error.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum AppError {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Regex` is never constructed
[INFO] [stdout]  --> src/filter/query.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum TextSearchMode {
[INFO] [stdout]   |          -------------- variant in this enum
[INFO] [stdout] 6 |     Plain,
[INFO] [stdout] 7 |     Regex,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TextSearchMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileWatcher` is never constructed
[INFO] [stdout]  --> src/ingest/file_watcher.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FileWatcher;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `watch` is never used
[INFO] [stdout]  --> src/ingest/file_watcher.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl FileWatcher {
[INFO] [stdout]   | ---------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn watch(paths: Vec<PathBuf>, tx: Sender<PathBuf>) -> Result<RecommendedWatcher> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/report/reporter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Reporter<'a> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 11 |     config: &'a crate::config::schema::Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `top_messages`, `errors_per_minute`, and `warnings_per_minute` are never read
[INFO] [stdout]   --> src/stats/aggregator.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct StatsSnapshot {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub top_messages: Vec<(String, usize)>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub errors_per_minute: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub warnings_per_minute: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StatsSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SqliteStorage` is never constructed
[INFO] [stdout]  --> src/storage/sqlite.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct SqliteStorage {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open`, `initialize`, and `save_session` are never used
[INFO] [stdout]   --> src/storage/sqlite.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl SqliteStorage {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 10 |     pub fn open(path: impl AsRef<Path>) -> Result<Self> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn initialize(conn: &Connection) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn save_session(&self, session: &crate::domain::Session) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.30s
[INFO] running `Command { std: "docker" "inspect" "3867beba72291e84b9f00e69a120387112d962e7ae08f0bdcf7a88e698fe2d10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3867beba72291e84b9f00e69a120387112d962e7ae08f0bdcf7a88e698fe2d10", kill_on_drop: false }`
[INFO] [stdout] 3867beba72291e84b9f00e69a120387112d962e7ae08f0bdcf7a88e698fe2d10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 37d31980e607bbada1b258565bfeced862cb367a0c430df853c2debcaf03af5d
[INFO] running `Command { std: "docker" "start" "-a" "37d31980e607bbada1b258565bfeced862cb367a0c430df853c2debcaf03af5d", kill_on_drop: false }`
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> src/report/reporter.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct Reporter<'a> {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] 11 |     config: &'a crate::config::schema::Config,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `logforge` (lib) generated 1 warning
[INFO] [stderr] warning: unused imports: `AlertRule` and `Alert`
[INFO] [stderr]  --> src/alerts/mod.rs:4:25
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub use crate::domain::{Alert, AlertRule};
[INFO] [stderr]   |                         ^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `commands::AppCommand`
[INFO] [stderr]  --> src/app/mod.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub use commands::AppCommand;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `controller::AppController`
[INFO] [stderr]  --> src/app/mod.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub use controller::AppController;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `events::AppEvent`
[INFO] [stderr]  --> src/app/mod.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub use events::AppEvent;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `state::AppState`
[INFO] [stderr]  --> src/app/mod.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub use state::AppState;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `loader::ConfigLoader`
[INFO] [stderr]  --> src/config/mod.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use loader::ConfigLoader;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AlertRuleConfig` and `Config`
[INFO] [stderr]  --> src/config/mod.rs:6:18
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub use schema::{AlertRuleConfig, Config};
[INFO] [stderr]   |                  ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `level::LogLevel`
[INFO] [stderr]  --> src/domain/mod.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub use level::LogLevel;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TextSearchMode`
[INFO] [stderr]  --> src/filter/mod.rs:5:30
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use query::{FilterQuery, TextSearchMode};
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `file_watcher::FileWatcher`
[INFO] [stderr]  --> src/ingest/mod.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub use file_watcher::FileWatcher;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ReportFormat` and `Reporter`
[INFO] [stderr]  --> src/report/mod.rs:5:20
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use reporter::{ReportFormat, Reporter};
[INFO] [stderr]   |                    ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sqlite::SqliteStorage`
[INFO] [stderr]  --> src/storage/mod.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub use sqlite::SqliteStorage;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fmt`
[INFO] [stderr]   --> src/main.rs:20:37
[INFO] [stderr]    |
[INFO] [stderr] 20 | use tracing_subscriber::{EnvFilter, fmt};
[INFO] [stderr]    |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `rules`, `history`, and `cooldown` are never read
[INFO] [stderr]   --> src/alerts/evaluator.rs:8:9
[INFO] [stderr]    |
[INFO] [stderr]  7 | pub struct AlertEvaluator {
[INFO] [stderr]    |            -------------- fields in this struct
[INFO] [stderr]  8 |     pub rules: Vec<AlertRule>,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]  9 |     history: HashMap<String, VecDeque<DateTime<Utc>>>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 10 |     cooldown: HashMap<String, DateTime<Utc>>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AlertEvaluator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `process` is never used
[INFO] [stderr]   --> src/alerts/evaluator.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl AlertEvaluator {
[INFO] [stderr]    | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 22 |     pub fn process(&mut self, entry: &LogEntry) -> Vec<Alert> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `matches` is never used
[INFO] [stderr]  --> src/alerts/rules.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | impl AlertRule {
[INFO] [stderr]   | -------------- method in this implementation
[INFO] [stderr] 6 |     pub fn matches(&self, entry: &LogEntry) -> bool {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `AppCommand` is never used
[INFO] [stderr]  --> src/app/commands.rs:1:10
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub enum AppCommand {
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `AppEvent` is never used
[INFO] [stderr]  --> src/app/events.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum AppEvent {
[INFO] [stderr]   |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Search` and `Filters` are never constructed
[INFO] [stderr]   --> src/app/state.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub enum Mode {
[INFO] [stderr]    |          ---- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 13 |     Search,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 14 |     Filters,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Mode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `alerts`, `status_message`, `evaluator`, and `config` are never read
[INFO] [stderr]   --> src/app/state.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct AppState {
[INFO] [stderr]    |            -------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub alerts: Vec<Alert>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub status_message: Option<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 29 |     pub should_quit: bool,
[INFO] [stderr] 30 |     pub evaluator: AlertEvaluator,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 31 |     pub config: Config,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AppState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Session` is never constructed
[INFO] [stderr]  --> src/domain/session.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct Session {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/domain/session.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl Session {
[INFO] [stderr]    | ------------ associated function in this implementation
[INFO] [stderr] 15 |     pub fn new(name: String, sources: Vec<String>, total_entries: usize) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `AppError` is never used
[INFO] [stderr]  --> src/error.rs:4:10
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub enum AppError {
[INFO] [stderr]   |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Regex` is never constructed
[INFO] [stderr]  --> src/filter/query.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum TextSearchMode {
[INFO] [stderr]   |          -------------- variant in this enum
[INFO] [stderr] 6 |     Plain,
[INFO] [stderr] 7 |     Regex,
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `TextSearchMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FileWatcher` is never constructed
[INFO] [stderr]  --> src/ingest/file_watcher.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct FileWatcher;
[INFO] [stderr]   |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `watch` is never used
[INFO] [stderr]  --> src/ingest/file_watcher.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | impl FileWatcher {
[INFO] [stderr]   | ---------------- associated function in this implementation
[INFO] [stderr] 9 |     pub fn watch(paths: Vec<PathBuf>, tx: Sender<PathBuf>) -> Result<RecommendedWatcher> {
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> src/report/reporter.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct Reporter<'a> {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] 11 |     config: &'a crate::config::schema::Config,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `top_messages`, `errors_per_minute`, and `warnings_per_minute` are never read
[INFO] [stderr]   --> src/stats/aggregator.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub struct StatsSnapshot {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 10 |     pub top_messages: Vec<(String, usize)>,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 15 |     pub errors_per_minute: f64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 16 |     pub warnings_per_minute: f64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `StatsSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SqliteStorage` is never constructed
[INFO] [stderr]  --> src/storage/sqlite.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct SqliteStorage {
[INFO] [stderr]   |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `open`, `initialize`, and `save_session` are never used
[INFO] [stderr]   --> src/storage/sqlite.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr]  9 | impl SqliteStorage {
[INFO] [stderr]    | ------------------ associated items in this implementation
[INFO] [stderr] 10 |     pub fn open(path: impl AsRef<Path>) -> Result<Self> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     fn initialize(conn: &Connection) -> Result<()> {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub fn save_session(&self, session: &crate::domain::Session) -> Result<()> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `logforge` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: `logforge` (bin "logforge" test) generated 30 warnings (run `cargo fix --bin "logforge" -p logforge --tests` to apply 13 suggestions)
[INFO] [stderr] warning: `logforge` (bin "logforge") generated 30 warnings (30 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/logforge-829a4bc998818616)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/logforge-360c149ec4b3b789)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/alert_tests.rs (/opt/rustwide/target/debug/deps/alert_tests-257a5eeb5125c1eb)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test alert_rule_does_not_spam ... ok
[INFO] [stdout] test alert_rule_triggers_once_per_window ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/config_tests.rs (/opt/rustwide/target/debug/deps/config_tests-0a2f1998a7f999c4)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test default_config_validates ... ok
[INFO] [stdout] test invalid_config_rejected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/filter_tests.rs (/opt/rustwide/target/debug/deps/filter_tests-a7c837124a913aeb)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test level_filter_applies ... ok
[INFO] [stdout] test plain_search_filter_applies ... ok
[INFO] [stdout] test regex_search_filter_applies ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/parser_tests.rs (/opt/rustwide/target/debug/deps/parser_tests-d0dd804bae209ea9)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test parse_json_log_line ... ok
[INFO] [stdout] test parse_unknown_line_safely ... ok
[INFO] [stderr]      Running tests/report_tests.rs (/opt/rustwide/target/debug/deps/report_tests-5c630d6bef586c70)
[INFO] [stdout] test parse_plain_log_line ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test generate_markdown_report ... ok
[INFO] [stdout] test generate_json_report ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests logforge
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "37d31980e607bbada1b258565bfeced862cb367a0c430df853c2debcaf03af5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "37d31980e607bbada1b258565bfeced862cb367a0c430df853c2debcaf03af5d", kill_on_drop: false }`
[INFO] [stdout] 37d31980e607bbada1b258565bfeced862cb367a0c430df853c2debcaf03af5d
